<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // "use strict";
        /*  
        
            当前函数中的this指向的是当前函数调用时的调用者
            如果是构造函数，此时函数中的this指向的是new出来的对象
            在严格模式下，没有调用者的函数被调用的时候，函数中的this指向undefined
            非严格模式下，全局默认指向于window

            
        */
        var user={
            name:"tom",
            show:function(){
                console.log(this);
            }
        };
        user.show();

        function show2(){
            console.log(this);
        }
        show2();

        function logThis(){
            console.log(this);
        }
        var user2={
            name:"alice",
            show3:logThis
        };
        user2.show3();

        var user3={
            name:"cici",
            logA:function(){
                console.log(this);
            },
            logB:function(){
                "use strict";
                console.log(this);
            }
        };
        console.log("=============");
        var a=user3.logA;
        a();

        var b=user3.logB;
        b();

        function Student(name){
            "use strict";//构造函数开启严格模式
            this.name=name;
            this.study=function(){
                console.log(this);
            }
        }
        var stu1=new Student("aaa");
        var stu2=new Student("bbb");
        stu1.study();
        stu2.study();

        
    </script>
</head>
<body>
    
</body>
</html>